home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 087 / tcommsys.arc / BULLET2 < prev    next >
Encoding:
Text File  |  1987-08-01  |  9.5 KB  |  197 lines

  1.  
  2. KERMIT File Transfer Protocol
  3.  
  4.  
  5. by Larry Jordan
  6.  
  7.  
  8.  KERMIT is a file transfer protocol similar to XMODEM. Like
  9. XMODEM, KERMIT transfers files between computers in blocks or
  10. packets and each packet is checked for communication errors. The
  11. transmitting computer calculates a checksum based on the contents
  12. of each packet and sends the checksum along with the packet. Like
  13. XMODEM, the receiving computer calculates its own checksum based
  14. on its contents of each received packet and compares the value to
  15. the received checksum. The receiving computer requests a
  16. retransfer of a packet when the received checksum does not match
  17. the calculated checksum. Like XMODEM, KERMIT repeats this process
  18. packet-by-packet until an entire file is transferred or until the
  19. file transfer is abnormally aborted.
  20.  
  21.  For XMODEM users, this KERMIT block mode transfer sounds all too
  22. familiar. The users of PC-TALK.III and CROSSTALK XVI have watched
  23. block counts methodically increment as utility and other assorted
  24. software moved from a distant TCOMM or RBBS-PC to a local
  25. floppy disk. These communications users have confidence in files
  26. transferred using XMODEM because they know Ward Christensen
  27. designed the protocol to ensure better than 99.6% error-free
  28. transmission. Many XMODEM enthusiasts will question the need for
  29. yet another public domain protocol, but there is a legitimate
  30. need for KERMIT.
  31.  
  32.  The XMODEM protocol requires a full 8 data bits to properly
  33. transfer a file. The communications software and hardware on both
  34. ends of a communications link must be set for no parity error-
  35. checking and 8 data bits. When these parameters are properly set,
  36. XMODEM simply divides a file into 128 byte (each byte contains 8
  37. bits) blocks and moves the file one block at a time.  There is no
  38. conversion or translation of the data.    The file may contain
  39. text, data or binary program execution code. WordStar files and
  40. compiled source code are transferred "as is" and can be used in
  41. the receiving computer just as they were used in the transmitting
  42. computer, assuming the computers are compatible.
  43.  
  44.  Unfortunately, the ubiquitous XMODEM cannot perform its majestic
  45. work with some computer systems. Some computer front-end
  46. processors can only operate using 7 data bits. Other computers
  47. that can operate at 8 data bits cough and choke when they receive
  48. bit patterns that match control characters (characters with ASCII
  49. values between 0 and 31 and the DEL character--ASCII 127). And
  50. finally, some modems lock up when they receive bit patterns that
  51. appear to be command mode signals. To accommodate these cranky
  52. but useful devices (that are already paid for) it is necessary to
  53. use an asynchronous file transfer protocol that ensures "error-
  54. free" transfer while overcoming the equipment limitations.
  55. Columbia University has developed and released a public domain
  56. protocol called KERMIT that accomplishes all these objectives.
  57.  
  58.  KERMIT can handle any kind of file and can be used with just
  59. about every kind of computer. The protocol is capable of
  60. converting all data into the equivalent of printable 7-bit ASCII
  61. characters and numbers when necessary. When KERMIT is forced to
  62. communicate 8-bit binary files, it simply sends the extra bit by
  63. itself. This "prefixing" or "8-bit quoting" process overcomes the
  64. 7-bit limitation of some old mainframe front-end processors.
  65. When Kermit is asked to transmit a control character, it encodes
  66. the character in a process which produces a printable character
  67. that can pass through control character sensitive devices without
  68. a hitch.  In both of these cases, the KERMIT on the receiving end
  69. of the file transfer has to work hard to decode each block of
  70. data before it is transferred from the KERMIT program to disk.
  71.  
  72.   Because of the relatively slow speed of microprocessors (yes
  73. the IBM PC is slower than the VAX 11/780) most microcomputer
  74. KERMIT implementations are written in assembly language.
  75. Implementations on faster machines are often written in PL/1 or
  76. some other high-level language with good string handling
  77. capabilities.  The original KERMIT was written in C to operate
  78. under the UNIX operating system, but other more recent
  79. implementations are generally written in the most powerful and
  80. productive language available on a specific computer.
  81.  
  82.  KERMIT has four other advantages over XMODEM.    First, it allows
  83. wildcard file transfers.  An asterisk can be used in place of
  84. several file name letters in order to sequentially and
  85. automatically transmit many files with common filenames or
  86. extensions.  XMODEM has to be manually restarted at the end of
  87. each file transfer.  Second, minicomputer and mainframe versions
  88. of KERMIT often include a SERVER mode.    After the host KERMIT is
  89. placed in the SERVER mode, the local KERMIT performs all
  90. handshaking necessary to both send and receive files--the remote
  91. host KERMIT is taken over by the local KERMIT and is slave to the
  92. local KERMIT's wishes.  Both the KERMIT wildcard and SERVER
  93. feature are time savers when several files have to be
  94. transferred. Third, Kermit saves time during ASCII and executable
  95. EXE types of file transfers by supporting data compression.
  96. Characters that are repeated in a file are only sent once for
  97. each repeat sequence.  This often results in a 10 to 30 percent
  98. faster file transfer for Kermit compared to Xmodem for the same
  99. file.  Finally, Kermit avoids the "deadly embrace" that can
  100. abnormally abort XMODEM transfers when handshake character
  101. synchronization are thrown off by bad telephone connections.
  102.  
  103.  Will KERMIT displace XMODEM for error-checked file transfers?
  104. Not in the near future, but perhaps it will eventually win out as
  105. the public domain protocol of choice. It is already in use in
  106. many universities, and several major federal government
  107. organizations have standardized on the protocol. The National
  108. Institute of Health in Bethesda has standardized on KERMIT for
  109. file transfers. THE SOURCE has also implemented KERMIT and
  110. supports the protocol for their subscribers. Both the BLAST
  111. and the Microcom Networking Protocol file transfer techniques
  112. that are being widely touted as the future national standard for
  113. asynchronous communications have characteristics that prevent
  114. their use with certain computers without special add-on
  115. equipment. Kermit does not suffer this limitation.
  116.  
  117.   It is often vitally important to move data from one computer
  118. to another with assurance that errors are not introduced in the
  119. data as a result of the transfer process.  When such a transfer
  120. has to be done using the asynchronous method of communications,
  121. KERMIT is a good candidate for the job.  It is available at
  122. reasonable cost, and it is a proven protocol.  If it has not
  123. already been implemented for a specific hardware configuration,
  124. it can be implemented quickly because the protocol is well
  125. documented. The protocol documentation manual comes complete with
  126. a full source code listing of a UNIX KERMIT written in C.
  127.  
  128.  
  129. Ordering Information
  130.  
  131. The KERMIT software is free and is distributed by Columbia
  132. University. The university is not, however, set up to distribute
  133. free software on the scale required for KERMIT. Therefore, to
  134. defray costs for media, printing, postage, labor, and
  135. computing resources, the university requests a moderate donation
  136. from sites that request KERMIT directly. The schedule is as
  137. follows:
  138.  
  139.        Complete KERMIT Distribution   $100.00
  140.      (Tape, Users Guide, and Protocol Manual)
  141.  
  142.        Printed Documents      $5.00 each
  143.      (Users Guide, Protocol Manual, or Any Source Listing)
  144.  
  145. Other sites are free to redistribute KERMIT on their own terms,
  146. and are encouraged to do so, with the following stipulations:
  147. KERMIT should not be sold for profit; credit should be given
  148. where it is due; and new material should be sent back to Columbia
  149. University at the address below so that we can maintain a
  150. definitive and comprehensive set of KERMIT implementations for
  151. further distribution.
  152.  
  153. To order KERMIT from Columbia University, send a letter
  154. requesting either:
  155.  
  156.    (a) The manuals or source listings you desire
  157.        (specify each one), or
  158.    (b) A 9-track magnetic tape in one of the
  159.        following formats:
  160.  
  161.       System    Tape Format         Densities
  162.       TOPS-10    BACKUP/Interchange,     Unlabeled 800, 1600
  163.       TOPS-20    DUMPER, Unlabeled     800, 1600
  164.       IBM VM/CMS  EBCDIC, CMS Format     1600, 6250
  165.        or EBCDIC, OS Standard Label  1600, 6250
  166.       Other    ASCII, ANSI Label, Format ``D'' 800, 1600
  167.  
  168.       Specify system, format, and density. One copy of each
  169.       manual is included with the tape. The University supplies
  170.       the tape, packaging, and postage.
  171.  
  172. Columbia University can only make tapes in the formats listed
  173. above. They cannot produce floppy disks; bootstrapping procedures
  174. are provided to allow the microcomputer versions to be downloaded
  175. from the mainframe for which the tape is produced. The tape
  176. includes all source programs, documentation, and, when practical,
  177. binaries or hex.
  178.  
  179. Send your letter to:
  180.  
  181.        KERMIT Distribution
  182.        Columbia University Center for Computing Activities
  183.        7th Floor, Watson Laboratory
  184.        612 West 115th Street
  185.        New York, N.Y. 10025
  186.  
  187. Please list the machines and operating systems you expect to run
  188. KERMIT on. You should also specify the tape format or the
  189. listings desired. Make checks payable to Columbia University
  190. Center for Computing Activities.
  191.  
  192.  
  193. ---------------------------------------------------------------
  194. Larry Jordan coauthored the book
  195. COMMUNICATIONS and NETWORKING for the IBM PC,
  196. published by the Robert J. Brady Company.
  197.